export interface ColorPickerProps {
/**
 * 组件唯一标识符
 */
  id: string
  /**
   * 组件标签
   */
  label: string
  /**
   * 当前选中的颜色值 (HEX格式)
   */
  value: string

  /**
   * 文本输入框的值
   */
  text: string

  /**
   * 文本输入框的占位符
   */
  textPlaceholder: string

  /**
   * 颜色变化回调函数
   * @param color 新颜色值
   */
  onChange?: (color: string) => void

  /**
   * 文本变化回调函数
   * @param text 新文本值
   */
  onTextChange?: (text: string) => void

  /**
   * 是否显示颜色预览
   * @default true
   */
  showPreview?: boolean

  /**
   * 是否显示预设颜色
   * @default true
   */
  showPresets?: boolean

  /**
   * 自定义预设颜色数组
   */
  presetColors?: string[]
}

export const DEFAULT_COLOR_PICKER_PROPS: Partial<ColorPickerProps> = {
  showPreview: true,
  showPresets: true,
  textPlaceholder: '输入颜色描述...',
}

/**
 * 预设颜色常量 - 精简热门版
 * 按照彩虹色顺序排列，保留每种色系最具代表性的1-2个颜色
 * 精选标准：设计工具常用色 + 网页安全色 + 高辨识度
 */
export const PRESET_COLORS: Array<string> = [
  // 透明色
  'transparent',

  // 红色系（保留最鲜艳的红色）
  '#FF0000', // 纯红

  // 橙色系（保留最标准的橙色）
  '#FF6600', // 标准橙

  // 黄色系（保留最鲜艳的黄色）
  '#FFFF00', // 纯黄

  // 绿色系（保留最鲜艳的绿色）
  '#00FF00', // 纯绿

  // 蓝色系（保留最鲜艳的蓝色）
  '#0000FF', // 纯蓝

  // 靛色系（保留最具代表性的靛蓝）
  '#4B0082', // 靛蓝

  // 紫色系（保留最标准的紫色）
  '#800080', // 标准紫

  // 中性色（保留纯黑和纯白）
  '#FFFFFF', // 纯白
  '#000000', // 纯黑
]
